Location based messaging

ABSTRACT

Systems and methods are provided for messages, such as short messages and multi-media messages. In one implementation a message is received from a sender, a location of the sender is determined, the message is modified to include the location of the sender, and the modified message is transmitted to a recipient.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to pendingU.S. application Ser. No. 10/785,735, entitled “LOCATION BASEDMESSAGING,” filed Feb. 23, 2004, the entire contents of which areincorporated herein by reference.

BACKGROUND

The following disclosure relates to processing a message, such as ashort message or a multi-media message.

Short messaging service (SMS) is a globally accepted service fortransmitting short messages between wireless devices. Typically a “shortmessage” is 160 alpha-numeric characters or less, and can be transmittedbetween mobile subscribers, e.g., using mobile telephones, over awireless network or between a mobile device and a system external to thewireless network, such as application server for handling electronicmail or paging.

SMS uses the mobile application protocol (MAP) which, in the mobilenetwork context, is an application layer protocol designed to supportdatabase interrogation and mobility management, and uses the services ofthe SS7 (Signalling System No. 7) transaction capabilities applicationpart (TCAP). The American and the international standards bodies havedefined a MAP layer using the services of the SS7 TCAP: the Americanstandard is published by the Telecommunication Industry Association andis referred to as IS-41, and the international standard is defined bythe European Telecommunication Standards Institute and is referred to asGSM (global standard for mobiles) MAP. Some additional protocols used inshort messaging include the Short Message Peer to Peer (SMPP) protocol,an open industry standard messaging protocol designed to simplifyintegration of data applications with wireless mobile networks, and theUniversal Computer Protocol (UCP).

A short messaging entity (SME) is an entity which may receive or sendshort messages, and may be located in a fixed network or a wirelessnetwork. For example, a SME can be a mobile station (MS), such as amobile telephone, that sends and receives messages over a wirelessnetwork. A different example of an SME is a personal computer used toreceive short messages into an e-mail account via an e-mail server thatcommunicates with a wireless network.

Referring to FIG. 1, a base station system (BSS) 110 receives a shortmessage transmitted from a mobile station (MS) 105. For example, themobile station 105 can be a mobile telephone, and a user can input theshort message using a user interface on the mobile telephone, andinclude a destination number that is associated with a recipient mobilestation 145, i.e., a telephone number. A base-station system 110typically consists of base-station controllers and base-transceiverstations and is responsible for transmitting voice and data trafficbetween mobile stations. The base-station system 110 transmits the shortmessage to a mobile switching center (MSC) 115. The mobile switchingcenter 115 performs switching functions for a mobile system and controlscalls to and from other telephone and data systems; typically a MSC 115services multiple base-station systems.

The short message is routed from the mobile switching center 115 to ashort messaging service center (SMSC) 120. The SMSC 120 is responsiblefor the relaying and store-and-forwarding of a short message betweenshort message entities, including mobile stations. The SMSC 120 makes adetermination based on the destination number, for example, using alook-up table, whether the short message should be rerouted to adifferent SMSC or whether routing information for the short message canbe obtained by the SMSC 120 from a home location register (HLR) 125. Forthe sake of simplicity, in this example, the SMSC 120 determines thatrouting information can be obtained from the HLR 125, and proceeds tointerrogate the HLR 125 for the routing information. An HLR 125 is adatabase used for permanent storage and management of subscriptions andservice profiles of network users. The routing information provided byan HLR 125 is at the “MSC level”, meaning an HLR 125 can provideinformation as to which MSC in a wireless network to which to route theshort message so that it can be routed to a recipient mobile station 145associated with the destination number.

Based on the routing information, the SMSC 120 transmits the shortmessage to a MSC 130 that is presently servicing the recipient mobilestation 145 (i.e., as the recipient mobile station 145 moves through thenetwork, the MSC that is presently servicing the mobile station 145 canchange). The MSC 130 interrogates a visitor location register (VLR) 135,which is a database that contains temporary location information aboutnetwork users that are currently in the area of a base station servicedby the MSC 130. That is, the location information in the VLR 135 is atthe base station transceiver (i.e., cell tower) level, as compared tothe routing information provided by the HLR 125, which is at the MSClevel. Based on information received from the VLR 135, the MSC 130routes the short message to a base-station system 140 and from there theshort message is delivered to the recipient mobile station 145.

Delivery of the short message to the recipient mobile station 145 isbased on the destination number input by the user of the sender mobilestation 105. In addition to the destination number, the short messagetypically includes a sender number, that is, a number that is associatedwith the sender mobile station 105, such as the sender's mobiletelephone number. The recipient mobile station 105 can reply to theshort message, which reply is automatically routed to the sender mobilestation 105 based on the sender number included in the original shortmessage, similar to an e-mail user clicking on the “reply” button whenreplying to an e-mail message. The reply short message is routed to thesender mobile station 105 using the same steps described above to routethe original message to the recipient mobile station 145.

Multi-media messaging service (MMS) is similar to SMS, except that inaddition to text, multi-media messages can include graphics, audio,images and video. A multi-media message can be transmitted from a sendermobile station 105 to a recipient mobile station 145 in a similar manneras an SMS, except that the SMSC 120 is replaced by a multi-mediamessaging center (MMSC), which provides corresponding functions formulti-media messages. In some instances, for example, if the recipientmobile station 145 is not MMS-enabled, the MMSC stores the content ofthe multi-media message and sends a short message, referred to as a“notification message”, to the recipient mobile station 145 advising therecipient mobile station 145 that there is a multi-media messageavailable for the recipient to retrieve from a location provided in thenotification message as a link, for example, to a URL. A user of therecipient mobile station 145 can click on the link and retrieve thecontent of the multi-media message from the location, which may be aserver included in the MMSC. A recipient of a multi-media message can bean e-mail address, in which case the MMSC routes the multi-media messageto an application server, i.e., an e-mail server. MMS is a globalservice and also uses various well known protocols and standards.

SUMMARY

The following describes apparatus and techniques relating to messages,such as short messages and multi-media messages. In general, in oneaspect, the invention features a method of processing a message,including the steps of receiving a message from a sender, determining alocation of the sender, modifying the message to include the location ofthe sender, and transmitting the modified message to a recipient.

Implementations may feature one or more of the following. The messagecan be, for example, a short message or a multi-media message. Themessage can include a request to include the location of the sender inthe message. The request can be a location-request code added to adestination number included in the message. Transmitting the modifiedmessage to a recipient can include transmitting the modified message toa recipient associated with the destination number. The message can betransmitted to a location server, based on the location-request code,and the location server can perform the steps of determining a locationof the sender and modifying the message to include the location of thesender. The location server can further modify the message to remove thelocation-request code from the destination number.

Determining a location of the sender can include sending a request(e.g., from the location server) to a location-enabled server andreceiving a location of the sender from the location-enabled server.Alternatively, a location of the sender can be retrieved from a cache oflocation information. Retrieving a location for the sender from a cacheof location information can include: receiving location information frommultiple network probes about locations of multiple network usersincluding the sender; periodically caching the location information forthe network users; and retrieving a location for the sender from thecache of location information.

The message can be further modified to add a location-request code to asender number included in the message, where the location-request codeis a request to include the recipient's location in a reply message tothe message. Modifying the message to add a location-request code to asender number can include determining if a location of the recipient canbe included in a message originating from the recipient, and if alocation of the recipient can be included, then modifying the message.

In general, in another aspect, the invention features a method ofprocessing a message, including the steps of receiving a message from afirst messaging service center, determining a location of a sender ofthe message, modifying the message to include the location of thesender, and transmitting the modified message to a second messagingservice center.

Implementations can include one or more of the following. The messagecan be a short message, and the first messaging service center and thesecond messaging service centers can be short messaging service centers.Alternatively, the message can be a multi-media message, and the firstmessaging service center and the second messaging service centers can bemulti-media messaging service centers. The first messaging servicecenter and the second messaging service center can be the same messagingservice centers. The first messaging service center can service a mobilenetwork used by a sender of the message, and the second messagingservice center can service a mobile network used by a recipient of themessage.

The message can include a location-request code added to a destinationnumber, and before transmitting the modified message to the secondmessaging service center, the message can be further modified to removethe location-request code from the destination number. Determining alocation of the sender can include sending a request to alocation-enabled server and receiving a location of the sender from thelocation-enabled server. Alternatively, determining a location of thesender can include retrieving a location for the sender from a cache oflocation information. Retrieving a location from a cache of locationinformation can include receiving location information from multiplenetwork probes about locations for multiple network users including thesender, periodically caching the location information for the networkusers, and retrieving a location for the sender from the cache oflocation information.

In general, in another aspect, the invention features, a method ofprocessing a message including the steps of inputting a message into amobile station, inputting into the mobile station a location-requestcode and a destination number, where the location-request code specifiesa request to modify the message to include a location of the mobilestation in the message and where the destination number specifies adestination for delivery of the message, and transmitting the messagefrom the mobile station to a messaging service center. In oneimplementation the message can be a short message, and in anotherimplementation the message can be a multi-media message.

In general, in another aspect, a system for processing a messagefeatures a sender mobile station, a messaging service center, a locationserver and a recipient messaging entity. The sender mobile station isconfigured to receive a user input and based on the user input transmita message over a mobile network for delivery to a recipient messagingentity associated with a destination number, where the message includesa request to include a location of the sender mobile station in themessage. The messaging service center is configured to receive from asender mobile station a message including a request to include alocation of the sender mobile station in the message, transmit themessage to a location server, receive a modified message from a locationserver, transmit the modified message to a recipient messaging entity.The location server is configured to receive a message from a messagingcenter, the message including a request to include a location of asender mobile station in the message; determine a location of the sendermobile station; modify the message to include the location; and transmitthe modified message to a messaging center. The recipient messagingentity is configured to receive a message including a location of asender mobile station from which the message originated.

Implementations can include one or more of the following. The messagecan be a short message, and the messaging service center can be a shortmessaging service center. Alternatively, the message can be amulti-media message, and the messaging service center can be amulti-media messaging service center.

In general, in another aspect, a method of processing a multi-mediamessage includes the steps of receiving a multi-media messageoriginating from a sender mobile station, the multi-media messageincluding destination information; determining a location of the sendermobile station; modifying the multi-media message to include thelocation of the sender mobile station; and transmitting the modifiedmulti-media message to a recipient based on the destination information.

Implementations can include one or more of the following. Thetransmitting step can further include accessing a user profileassociated with the sender mobile station; based on the user profile andthe destination information, determining an e-mail address associatedwith the recipient; and transmitting the modified multi-media message tothe recipient e-mail address. Determining a location of the sendermobile station can include querying a location enabled server for alocation of the sender mobile station, and receiving a location of thesender mobile station from the location enabled server.

Alternatively, determining a location of the sender mobile station caninclude retrieving a location for the sender mobile station from a cacheof location information. Retrieving a location for the sender mobilestation from a cache of location information can include receivinglocation information from multiple network probes about locations for amultiple network users including the sender mobile station, periodicallycaching the location information for the network users including thesender mobile station, and retrieving a location for the sender mobilestation from the cache of location information.

Implementations of the invention can realize one or more of thefollowing advantages. A current location of a sender mobile station canautomatically be included in a message, such as a short message ormulti-media message, originating from the sender mobile station. Alocation server can be used to determine a location of a sender mobilestation and modify a message to include the location without requiring asoftware or hardware upgrade of mobile network elements, such as a shortmessaging service center or a multi-media messaging center. The shortmessaging service center or multi-media messaging center can process ashort message or multi-media message that includes a location requestwithout awareness of the location request, and the message can beseamlessly diverted to and received back from a location server with thelocation of the sender mobile station added thereto. Mobile users canuse the location request service with a mobile station, e.g., a mobiletelephone or other such handset, that is two-way SMS or MMS capablewithout requiring any upgrades to the mobile station. A user of asending device can decide on a message-by-message basis whether toinclude a request to add the location of the sending device to a messageoriginating from the sending device.

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages of the invention will be apparent from thedescription and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 shows a schematic representation of a conventional transmissionpath of a short message.

FIG. 2 is a flowchart showing a process for modifying a short message toinclude a location of a sender.

FIG. 3 shows a schematic representation of the transmission path of ashort message and a modified short message.

FIG. 4 is a flowchart showing a process for creating a short messageincluding a location request.

FIG. 5 is a flowchart showing a process for including a location of asender in a short message.

FIG. 6 is a flowchart showing a process for modifying a short message toinclude a location of a sender.

FIG. 7 is a flowchart showing a process for modifying a short message toinclude a location of a sender and include a location-request for areply to the short message.

FIG. 8 shows a schematic representation of the transmission path of amulti-media message and a modified multi-media message.

FIG. 9 is a flowchart showing a process for including a location of asender in a multi-media message.

FIG. 10 shows a schematic representation of a transmission path of amulti-media message delivered to an e-mail address.

FIG. 11 shows a schematic representation of a transmission path of amulti-media message and a modified multi-media message that is deliveredto an e-mail address.

FIG. 12A is a flowchart showing a process for creating a multi-mediamessage including a location-request.

FIG. 12B is a flowchart showing a process for including a location of asender in a multi-media message for delivery to an e-mail address.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

A short message typically includes some information in addition to thetext input by a sender, such as the destination number, the sender'snumber (e.g., a MSISDN (mobile station integrated services digitalnumber) such as a mobile telephone number, or an e-mail address), thetime the short message was sent and a date stamp. Referring to FIG. 2, aprocess 200 is shown for including a location of a sender at the time ashort message originated from the sender in the short message. A SMSCreceives a short message that originated with a sender mobile station(step 205) and determines a current location of the sender mobilestation (step 210). The SMSC then modifies the short message to includethe current location of the sender mobile station (step 215) andproceeds to route the short message to a recipient mobile station (step220).

Referring to FIG. 3, a transmission path of a short message that ismodified to include a location of a sender mobile station 305 is shown.FIG. 4 shows a process 400 of a user of a sender mobile station 305transmitting a short message. In a first step, a user of the sendermobile station 305 inputs a short message including a destination numberassociated with a recipient mobile station 345 (step 405). The termdestination number as used herein refers to an identifier of arecipient, such as a mobile telephone number associated with a recipientmobile station, an e-mail address, an IP address, and the like, andaccordingly may or may not be an actual number per se. The user orsystem includes within the short message an indication that the currentlocation of the sender mobile station 305 is to be included in the shortmessage that is delivered to the recipient mobile station 345 (step410). For example, the user or system can add a “location-request code”to the beginning of the destination number, such as inputting prefixdigits, e.g., “99”, before the destination number.

Alternatively, the location-request code can be programmed into thesender mobile station 305, so that the user can simply press a specifiedbutton on the user interface to automatically add the location-requestcode to the destination number. In another alternative, the sendermobile station 305 can be programmed so that as a default alocation-request code is automatically added to the destination numberof a short message originating from the sender mobile station 305.Alternatively, a network element other than the sender mobile station305, such as the SMSC 320 or a MSC 315, can prompt the inclusion of thesender mobile station's location in the short message. For example, theSMSC 320 can determine whether a sender mobile station is“location-enable” (e.g., a subscriber to a location enabled service),and if so then include the location of the sender mobile station in theshort message. Other techniques for including a location-request code ina short message can be used. The short message including thelocation-request code is transmitted from the sender mobile station 305to a base-station system 310, to a mobile switching center 315 andfinally to a SMSC 320 (step 415).

FIG. 5 shows an exemplary process 500 for including a current locationof a sender mobile station in the short message using a location server350. The process 500 relates to one implementation where a locationserver 350 is used to determine the current location of the sendermobile station 305. Typically, when the SMSC 320 receives the shortmessage originating from the sender mobile station 305 (step 510), theSMSC 320 uses the destination number included therein to route the shortmessage. The SMSC 320 may use a look-up table to determine anappropriate second SMSC to reroute the short message to if thedestination number is on a different network. Alternatively, the SMSC320 may query the HLR 325 for routing information for the recipientmobile station 345 associated with the destination number, if thedestination number is within a network serviced by the SMSC 320. If thedestination number is an address, such as an IP address of anapplication server, the SMSC 320 may route the short message to theaddress.

When the SMSC 320 receives the short message including thelocation-request code included at the beginning of the destinationnumber, the SMSC 320 interprets the location-request code as a“destination number” and routes the short message to a location server350 associated with the destination number. For example, the SMSC 320can parse the short message to retrieve a destination number beginningwith the digits “99” (where “99” is the location-request code). The SMSC320 performs a look-up in a look-up table to determine a destinationassociated with “99” and retrieves an address, e.g., an IP address; theaddress can be the address for the location server 350. The SMSC 320then transmits the short message to the address, i.e., to the locationserver 350 (step 515). The location server 350 is capable of receivingand sending short messages and is therefore a short messaging entity(SME). The SMSC 320 does not need to be aware of the purpose of routingthe short message to the location server 350, i.e., to determine acurrent location of the sender mobile station 305, and from theperspective of the SMSC 320, processing of the short message iscomplete, since a destination was determined (i.e., the location server350) and the short message was routed accordingly.

The SMSC 320 subsequently receives a modified short message from thelocation server 350 (step 520); the SMSC 320 may not necessarilyrecognize the modified short message as a modified version of apreviously processed short message, i.e., from the perspective of theSMSC 320 the modified short message is just another short message to beprocessed. The SMSC 320 can use a destination number for the recipientmobile station 345 included in the modified short message to route themodified short message to a second SMSC for processing or to query theHLR 325 for routing information for the recipient mobile station 345,and route the modified short message to a mobile switching center 330based on the routing information (step 525). For the purpose of thisexample, the modified short message is not re-routed to a second SMSC.The mobile switching center 330 may interrogate a VLR 335 for temporaryrouting information about the recipient mobile station 345 and, based onthe information, route the modified short message to a base-systemstation 340 serving the vicinity of the recipient mobile station 345.The modified short message is then finally sent from a base-stationtransceiver to the recipient mobile station 345.

In another implementation, the location server 350 can include, or haveaccess to, information so that the location server 350 can determine anappropriate SMSC to route the modified short message to, based on thedestination number. The location server 350 can then route the modifiedshort message directly to the appropriate SMSC, rather thanautomatically route the modified short message back to the SMSC 320,although in some instances the SMSC 320 will be the appropriate SMSC.

Referring to FIG. 6, a process 600 is shown wherein the location server350 determines a current location of the sender mobile station 305 andmodifies the short message. The location server 350 receives the shortmessage from the SMSC 320 (step 610), the short message including thesender's number, that is, a number associated with the sender mobilestation 305. The location server 350 can use various techniques fordetermining the sender mobile station's 305 current location (step 615).In one implementation, location server 350 includes, or has access to,information about which “location-enabled server” (LES) in a mobilenetwork is dynamically tracking the location of the sender mobilestation 305. For example, the location server 350 can look-up thesender's number in a look-up table and determine an address of acorresponding LES. A LES is a server maintained by a network provider,for example, AT&T Wireless, that dynamically tracks the location ofnetwork users typically in the form of geographic coordinates, i.e., thelatitude and longitude of the sender mobile station's 305 position. Thelocation server 350 can send a request via the wireless or a wirednetwork to the LES 355, which responds by transmitting the currentlocation of the sender mobile station 305 to the location server 350.

In another implementation, the location server 350 can passively monitorthe locations of network users, for example, by receiving locationinformation from network probes that monitor the network users that arewithin the vicinity of a probe at a given time, and periodically cachingthe location information. When a location is required, the locationserver 350 retrieves the location from the cache of locationinformation. The location cache can be compiled by using locationinformation from existing network probes, network probes that exist forthe purpose of providing information to a location server, or acombination of the two. For example, a network probe can be an acceSS7device available from Agilent Technologies of Palo Alto, Calif. Othertechniques for determining the location of the sender mobile station 305can be used.

As mentioned above, the location of the sender mobile station 305determined by the location server 350 can be in the form of geographiccoordinates, i.e., the latitude and longitude of the sender mobilestation 305. A user of the recipient mobile station 345 may prefer thelocation to identify a city, street or street address. Thus, optionally,the location server 350 can translate the determined location from areceived format, such as geographic coordinates, into a more meaningfulformat, such as a street address, for example, by querying a databaseincluding geographic coordinate locations mapped to street addresslocations.

The location server 350 modifies the short message to include thelocation of the sender mobile station 305 (step 620), the location beingexpressed in any desirable format, such as geographic coordinates, astreet address or otherwise. The location server 350 can perform afurther modification to the short message before transmitting the shortmessage back to the SMSC 320; the location server 350 can remove thelocation-request code, since the location request has now beensatisfied. That is, the location server 350 can remove thelocation-request code that was added to the beginning of the destinationnumber (step 625). The location server 350 now transmits the modifiedshort message back to the SMSC 320 (step 630).

The modified short message received by the SMSC 320 includes adestination number without the location-request code added thereto.Accordingly, when the SMSC 320 parses the short message to determine adestination number to which to route the short message, the SMSC 320determines the destination number associated with the recipient mobilestation 345. The SMSC 320 can look-up the destination number in alook-up table, and if the destination number is in a different network,the SMSC 320 routes the modified short message to a SMSC in thedifferent network, otherwise (as is the case in the present example) theSMSC 320 queries the HLR 325 for routing information. By contrast, whenthe SMSC 320 received the original short message (i.e.,pre-modification), and looked up the destination number (which includedas prefix digits the location-request code) in a look-up table, the SMSC320 found an address for the location server 350 and routed the shortmessage to the location server 350. By the location server 350 removingthe location-request code from the short message, the SMSC 320 can nowroute the modified short message to the appropriate destination number,that is, the destination number associated with the recipient mobilestation 345.

In some instances, a SMS Router can be included in the mobile network,and typically sits in front of a SMSC. A short message can betransmitted from a MSC to the SMS Router which looks at the destinationnumber and determines whether the short message should continue to theSMSC or be rerouted to a different SMSC (i.e., if the destination numberis in a different network), or whether the destination is an address,e.g., an IP address for an application server, in which case the shortmessage is routed to the application server without reaching the SMSC.In such an instance, the process described in reference to FIG. 5 woulddiffer slightly in that the short message would be routed from the MSC315 to the SMS Router to the location server 350, without first beingrouted to the SMSC 320. It should also be noted that the MSC 315 and theMSC 330 can be the same MSC if, for example, the sender mobile station305 and the recipient mobile station 345 were both in locations beingserviced by the same MSC when the short message originated from thesender mobile station 305.

In the above example of including a location of a sender mobile stationin a short message, a location server 350 was used to determine thelocation and modify the short message. However, the steps performed bythe location server 350 can be performed by a SMSC or some other entityalong the transmission path of the short message. An advantage of usinga location server is that a short message can be modified to include alocation of the sender without requiring a software or hardware upgradeof the wireless network elements, including the SMSC. The SMSC canprocess a short message that includes a location request withoutawareness of the location request, and the short message can beseamlessly diverted to and received back from the location server withthe location of the sender added thereto. Additionally, mobile users canuse the location request service with a mobile station, e.g., a mobiletelephone, that is two-way SMS capable without requiring any upgrades tothe mobile station.

Referring to FIG. 7, a process 700 for modifying a short message toinclude a location of the sender mobile station 305 is shown thatincludes at least one additional step, performed in the illustratedimplementation by the location server 350. The location server 350receives the short message from the SMSC 320 (or an SMS Router as thecase may be), the short message including the location-request codeadded to a destination number (step 710). The location server 350determines a location of the sender mobile station 305 (step 715),modifies the short message to include the location (step 720) andfurther modifies the short message to remove the location-request codefrom the destination number (step 725).

The location server 350 can determine if the recipient mobile station345 associated with the destination number is “location-enabled” (step730). That is, the location server 350 can determine whether a shortmessage originating from the recipient mobile station 345 can include alocation-request, which location-request can be satisfied by a mobilenetwork used by the recipient mobile station 345 (e.g., whether therecipient mobile station has subscribed to a “location-enabled”service). If the recipient mobile station 345 is location-enabled (“Yes”branch of decision step 730), then the location server 350 furthermodifies the short message to add a location-request code to thesender's number (which sender's number was included in the originalshort message) (step 735). If the recipient mobile station 345 is notlocation-enabled (“No” branch of decision step 730), then no furthermodifications are made to the short message. The location server 350then transmits the modified short message back to the SMSC 320 (step740).

The location server 350 can determine whether the recipient mobilestation 345 is location-enabled using any convenient means. In oneimplementation, a user of the recipient mobile station 345 can create auser profile in a database that is accessible by the location server350. For example, the user can complete a user profile form on awebpage, which form is used to create a database record associated withthe user. Included in the user profile will be information as to whetheror not the user is a subscriber to a location-enabled service. Thelocation server 350 can determine from the user profile whether or notthe recipient mobile station 345 is location-enabled. In anotherexample, the user profile may provide information, such as the user'saccount number with a mobile subscription service and an address for themobile subscription service, and the location server can query themobile subscription service to determine whether or not the usersubscribes to a location-enabled service.

The sender's number is typically included in any short messageoriginating from the sender mobile station 305 so that a recipientmobile station can reply to the short message, and have the replyautomatically routed back to the sender's number. If thelocation-request code is added to the sender's number, then when therecipient mobile station 345 replies to the modified short message, the“destination number” for the reply short message includes thelocation-request code. When the reply short message is received by aSMSC, the location-request code will trigger the process described abovein relation to FIGS. 5 and 6. That is, the SMSC will determine thelocation of the recipient mobile station 345 (now the short messageoriginator) and modify the reply short message to include the locationof the recipient mobile station 345.

In the exemplary process described above, a location server determinedwhether the recipient mobile station 345 was location-enabled and, ifso, modified the short message to add a location-request code to thesender's number. However, this function can be performed by a SMSC orother entity along the transmission path of the short message. The step730 of determining whether a recipient mobile station is locationenabled can be eliminated, and the short message automatically can bemodified to include a location-request code at the beginning of thesender's number. However, the additional service of having a locationincluded in a short message may be implemented as a value-added servicefor which a mobile subscriber must pay an extra fee, for example, amonthly flat fee or a per message fee. Under such conditions, theadditional step 730 facilitates ensuring that only paying mobilesubscribers benefit from the service.

The example of processing a short message described above in referenceto FIG. 3 was illustrated using a simplified transmission path. Oneskilled in the art will recognize that a short message may betransmitted to a first SMSC and, if the destination number is not in themobile network serviced by the first SMSC, an appropriate second SMSC ina different mobile network can be identified, e.g., using look-uptables, and the short message routed to the second SMSC. Alternatively,as mentioned above, the process of identifying an appropriate SMSC andrerouting of the short message can be performed by a SMS Router thatintercepts the short message before the message reaches the first SMSC,or which is included within the SMSC. The example described a shortmessage sent between two mobile stations 305 and 345. However, the shortmessage may be sent between a mobile station and a SME that is not amobile station, for example, an e-mail address or an IP address of anapplication server.

The processes and systems described above to include a location in ashort message can be implemented in other messaging services. Forexample, the location of a sender mobile station from which amulti-media message originates can be included in the multi-mediamessage. Referring to FIGS. 8 and 9, a multi-media message can originatefrom a sender mobile station 805. The multi-media message includes adestination number associated with a recipient, in this example, arecipient mobile station 845. A location-request code can be included inthe multi-media message using similar techniques described above inreference to short messages. That is, a user can include prefix digitsbefore the destination number, such as “99”, indicating that the userwants the location of the sender mobile station 805 to be included inthe multi-media message delivered to the recipient mobile station 845.

The multi-media message is transmitted from the sender mobile station805 to a base-station system 810, to a mobile switching center 815 andfinally to a multi-media messaging service center (MMSC) 820 (step 905).Alternatively, a MMS Router can intercept the multi-media message beforethe message reaches the MMSC 820, or the MMSC 820 can include a MMSRouter. In this example, the MMSC 820 determines whether the destinationnumber is in the mobile network serviced by the MMSC 820, for example,by looking up the destination number in a look-up table. Because thelocation-request code 99 has been added to the beginning of thedestination number associated with the recipient mobile station 845, theMMSC 820 will determine from the look-up table that an address of anapplication server is associated with the location-request code (i.e.,the 99). The address can be the address of the location server 850, andthe MMSC 820 delivers the multi-media message to the location server 850(step 910).

The location server 850 determines the sender's number from themulti-media message and determines the current location of the sendermobile station 805 associated with the sender's number (step 915). Thelocation server 850 can use similar techniques described above inreference to short messaging, for example, by querying a LES 855. Thelocation server 850 modifies the multi-media message to include thelocation of the sender mobile station 805 (step 920) and transmits themodified multi-media message to the MMSC 820 (step 925), oralternatively can send the modified multi-media message to a differentMMSC, if the destination number is a network that is not serviced by theMMSC 820. The location server 850 can remove the location-request codefrom the destination number, such that the MMSC 820 can parse themodified multi-media message to retrieve the destination numberassociated with the recipient mobile station 845, and route the modifiedmulti-media message accordingly. The modified multi-media message routesfrom the MMSC 820 to a MSC 830 (which in some instances can be the sameas MSC 815), to a base-station system 840 and finally to the recipientmobile station 845 (step 930).

As discussed above in the context of short messaging, some or all of thesteps performed by the location server 850 can be performed by a MMSC820 or other network element directly or indirectly in the transmissionpath of a multi-media message.

In another implementation, a location-request code included in amulti-media message can trigger the MMSC 820 to determine the locationof the sender mobile station 805 and modify the multi-media message toinclude the location. If the recipient mobile station 845 is notMMS-enabled, then the multi-media message can be modified to include thelocation of the sender mobile station 805 before storing the multi-mediamessage on an Internet accessible server and transmitting acorresponding notification message to the recipient mobile station 845.If the recipient mobile station 845 is MMS-enabled and the content of amulti-media message can be sent directly to the recipient mobile station845, then the modified multi-media message is sent to the recipientmobile station 845.

An additional step, which can be performed by the location server 850 orsome other network element, to add a location-request code to thesender's number within the multi-media message can be performed, usingsimilar techniques as discussed above.

Referring to FIG. 10, a sender mobile station 1005 can address amulti-media message to a recipient 1030 that is not a mobile station,for example, an e-mail address. The multi-media message is transmittedfrom the sender mobile station 1005 to a base-station system 1010, to amobile switching center 1015 and finally to a MMSC 1020. The MMSC routesthe multi-media message to an e-mail server 1025, which e-mail server1025 delivers the multi-media message to the recipient e-mail address1030.

Referring to FIG. 11, a user of a sender mobile station 1105 can includea location-request in a multi-media message for delivery to a recipiente-mail address 1140, rather than a recipient mobile station. In thisimplementation, the multi-media message is modified to include thelocation of the sender mobile station 1105 by a location server 1125,although another network element, such as the MMSC 1120, can performthis step. In the implementation where an entity other than the MMSC1120 is modifying the multi-media message, such as the location server1125, then in order for the multi-media message to be routed to thelocation server 1125, the multi-media message is initially transmittedto an address associated with the location server 1125, rather than therecipient e-mail address 1140.

Referring to FIG. 12A, in one implementation the multi-media message canbe initially delivered to the location server 1125 and then rerouted tothe recipient e-mail address 1140 as follows. The user of the sendermobile station 1105 can create a user profile that is stored in alocation, such as a web server or a database, that is accessible by thelocation server 1125 (Step 1205). For example, the user can access awebsite over the Internet that provides a web page for creating a userprofile. The user inputs information prompted by the web page, therebycreating the user profile, which may be stored as a database record. Theuser profile may include definitions of “handles” (i.e., aliases) forpotential recipients of multi-media messages originating from the user'smobile station. For example, a handle for an e-mail address ofnewman@xyzcompany.com may be “newman-xyz”. The web page prompts the userto define handles for e-mail addresses the user may wish to sendmulti-media messages to from the user's mobile station (step 1210). Thehandle definitions are stored as part of the user profile, and thereforealso accessible by the location server 1125.

A sender, such as the user referred to above, creates a multi-mediamessage, for example, by taking a digital photograph with the sender'smobile telephone, which is intended for delivery tonewman@xyzcompany.com (step 1215). However, rather than input thenewman@xyzcompany.com e-mail address as the destination number for themulti-media message, the sender inputs an e-mail address that willdirect the multi-media message to the location server 1125 (step 1220),which e-mail address includes the handle associated with the recipiente-mail address, i.e., the handle “newman-xyz”. For example, the sendercan input the following e-mail address: newman-xyz@locationserver.com(i.e., handle@locationserver.com). The multi-media message will routefrom the sender's mobile station 1105 to a BSS 1110, to a MSC 1115 andto the MMSC 1120. The MMSC 1120 will route the multi-media message to anapplication server associated with the e-mail address, which in thiscase is the location server 1125.

Referring to FIG. 12B, when the location server 1125 receives themulti-media message (step 1225), the location server 1125 parses themulti-media message to determine the sender's number. The locationserver 1125 determines the current location of the sender's mobilestation 1105, for example, by sending a request to a location-enabledserver 1127 requesting the location of a mobile station associated withthe sender's number, using similar techniques as described above (step1230). The location server 1125 modifies the multi-media message toinclude the location of the sender's mobile station 1105 (step 1235).The modified multi-media message can be routed to the recipient e-mailaddress 1140. The multi-media message included destination information,in this instance, the handle associated with the recipient e-mailaddress was included in the original destination number, i.e., thee-mail to which the multi-media message was originally sent. Thelocation server 1125 retrieves the user profile 1130 associated with thesender's number, and determines from the user profile an e-maildestination address associated with the handle provided by thedestination information (step 1240). That is, the sender addressed themulti-media message to newman-xyz@locationserver.com, thereby indicatingthat the handle of the recipient e-mail address is newman-xyz. Thelocation server 1125 determines from the sender's user profile thatnewman-xyz is a handle for newman@xyzcompany.com which is therefore therecipient e-mail address 1140. The location server 1125 sends themodified multi-media message to the recipient e-mail address 1140 (i.e.,destination address) (step 1245). The modified multi-media message maybe routed first to an e-mail server 1135 and then delivered to therecipient e-mail address 1140.

In one implementation, the multi-media message can be further modifiedto include a location-request code before the sender's number, so that areply message is sent to the sender with the location of the recipientincluded therein, using similar techniques as described above inreference to SMS.

In another implementation, the sender mobile station 1105 can includethe corresponding user profile, which includes the handle definitions.The sender can request that the location of the sender mobile station1105 be included in a multi-media message, for example, by inputting alocation-request code into the sender mobile station 1105 or setting themobile station 1105 to automatically request the location be included inall such messages. The sender can specify the recipient e-mail addressby either entering the entire e-mail address or entering the handle. Thesender mobile station 1105 can automatically route the multi-mediamessage to the appropriate e-mail address, e.g.,handle@locationserver.com. This technique may require upgrades to thesender mobile station 1105, but can facilitate the sender's experience.

The above example is illustrative, and describes one technique forrouting a multi-media message to a location server for modification toinclude a location, and then rerouting to a final destination e-mailaddress. Other techniques can be used. Additionally, the multi-mediamessage can be modified to include a location by a location server, asdescribed, or by another network element, for example, the MMSC.

An MMSC 820 can determine from a destination number a format for amulti-media message that is compatible with the recipient associatedwith the destination number, and convert the multi-media message intothe format before delivering the message to the recipient. Thus, an MMSC820 may determine a format for the multi-media message that iscompatible with the location server 850 (i.e., the recipient associatedwith the destination number, based on the 99 included before therecipient destination number), and the MMSC 820 may deliver themulti-media message to the location server 850 in the determined format.In one implementation, the location server 850 determines a format forthe multi-media message that is compatible with the recipient based onthe destination number associated with the recipient and, if necessary,changes the format of the modified multi-media message to the determinedformat before transmitting the modified multi-media message to an MMSC820 or e-mail server 1025.

The techniques described above for determining a location of a sender ofa short message or a multi-media message can be implemented for othermessaging services using similar techniques. For example, the techniquescan be implemented for Smart Messaging, Enhanced Messaging Services andusing iMode available in Japan.

A number of embodiments of the invention have been described.Nevertheless, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention. Thelogic flows depicted in FIGS. 2, 4-7, 9, 12A and 12B do not require theparticular order shown, or sequential order, to achieve desirableresults, and the steps of the invention can be performed in a differentorder and still achieve desirable results. Accordingly, otherembodiments are within the scope of the following claims.

What is claimed is:
 1. A method of processing a message, comprising:receiving a message, from a physical sender device, directed to aphysical recipient device, said message including a destination numberto direct said message to said physical recipient device and including alocation-request code; receiving location information from a pluralityof network probes for current locations of a plurality of physicalnetwork user devices including said physical sender device; periodicallycaching said location information for said plurality of physical networkuser devices including said physical sender device; retrieving, at saidphysical location server, a current location of said physical senderdevice from said cache of location information; modifying, based on saidlocation-request code, said message to include said current location ofsaid physical sender device; and transmitting said modified message tosaid physical recipient device.
 2. The method of processing a messageaccording to claim 1, further comprising: transmitting said modifiedmessage to said physical recipient device associated with saiddestination number.
 3. The method of processing a message according toclaim 1, wherein: said message is a multi-media message.
 4. The methodof processing a message according to claim 1, wherein: said message is ashort message.
 5. The method of processing a message according to claim1, further comprising: transmitting said message to an intermediatephysical location server based on said location-request code.
 6. Themethod of processing a message according to claim 5, wherein: saidphysical location server modifies said message to remove saidlocation-request code from said destination number.
 7. The method ofprocessing a message according to claim 5, further comprising: sending arequest from said physical location server to a physicallocation-enabled server; and receiving, at said physical locationserver, said current location of said physical sender device from saidphysical location-enabled server.
 8. The method of processing a messageaccording to claim 1, further comprising: modifying said message to adda location-request code to a sender number included in said message,where said location-request code is a request to include a currentlocation of said physical recipient device in a reply message to saidmessage.
 9. The method of processing a message according to claim 1,wherein: said destination number comprises a Uniform Resource Locator(URL).
 10. A method of processing a message, comprising: receiving amessage, from a physical sender device, directed to a physical recipientdevice, said message including a destination number to direct saidmessage to said physical recipient device and including alocation-request code; determining a current location of said physicalrecipient device; determining if a current location of said physicalrecipient device can be included in a message originating from saidphysical recipient device; and if said current location of said physicalrecipient device can be included, modifying said message to add alocation-request code to a sender number included in said message, wheresaid location-request code is a request to include said current locationof said physical recipient device in a reply message to said message;modifying, based on said location-request code, said reply message toinclude said current location of said physical recipient device; andtransmitting said modified reply message to said physical sender device.11. The method of processing a message according to claim 1, whereinsaid determining a current location of said sender comprises: querying aphysical location enabled server for said current location of saidphysical sender device; and receiving said current location of saidphysical sender device from said physical location enabled server.
 12. Amethod of processing a message, comprising: receiving a message, from afirst physical messaging service center, directed from a physical senderdevice to a physical recipient device, said message including adestination number to direct said message to said physical recipientdevice, and including a location-request code; receiving locationinformation from a plurality of physical network probes for currentlocations for a plurality of physical network user devices includingsaid physical sender device; intermittently caching said locationinformation for said plurality of physical network user devicesincluding said physical sender device; retrieving a current location ofsaid physical sender device from said cache of location information;modifying, based on said location-request code, said message to includesaid current location of said physical sender device; and transmittingsaid modified message to a second messaging service center.
 13. Themethod of processing a message according to claim 12, wherein: saidmessage is a short message, and said first physical messaging servicecenter and said second physical messaging service center are physicalshort messaging service centers.
 14. The method of processing a messageaccording to claim 12, wherein: said message is a multi-media message,and said first physical messaging service center and said secondphysical messaging service center are physical multi-media messagingservice centers.
 15. The method of processing a message according toclaim 12, wherein: said first physical messaging service center and saidsecond physical messaging service center are a same messaging servicecenter.
 16. The method of processing a message according to claim 12,further comprising: servicing, with said first physical messagingservice center, a physical mobile network used by said physical senderdevice; and servicing, with said second physical messaging servicecenter, a mobile network used by said physical recipient device.
 17. Themethod of processing a message according to claim 12, furthercomprising: modifying said message to remove said location-request codefrom said destination number.
 18. The method of processing a messageaccording to claim 12, further comprising: sending a request to aphysical location-enabled server; and receiving said current location ofsaid sender from said physical location-enabled server.
 19. The methodof processing a message according to claim 12, further comprising:retrieving said current location for said physical sender device from acache of location information.
 20. The method of processing a messageaccording to claim 12, wherein: said destination number comprises aUniform Resource Locator (URL).
 21. A system for processing a message,comprising: a sender mobile station configured to receive a user inputand based on the user input transmit a message over a mobile network fordelivery to a recipient messaging entity associated with a destinationnumber, where the message includes a request to include a currentlocation of the sender mobile station in the message; a messagingservice center configured to: receive from a sender mobile station amessage; process the message to determine if the message includes arequest to include a current location of the sender mobile station inthe message; transmit the message to a location server; receive amodified message from a location server; transmit the modified messageto a recipient messaging entity; a location server configured to:receive a message from a messaging center, the message including arequest to include a current location of a sender mobile station in themessage; determine a current location of the sender mobile station;modify the message to include the current location of the sender mobilestation; and transmit the modified message to a messaging center; and arecipient messaging entity configured to receive a modified message fromthe location server, the modified message including a current locationof a sender mobile station from which the message originated.
 22. Thesystem of claim 21, wherein: the message is a short message, and themessaging service center is a short messaging service center.
 23. Thesystem of claim 21, wherein: the message is a multi-media message, andthe messaging service center is a multi-media messaging service center.